home *** CD-ROM | disk | FTP | other *** search
/ Hacker's Secrets 4 / Hacker's Secrets 4.iso / faq / news1115.txt < prev    next >
Text File  |  1997-01-06  |  4KB  |  88 lines

  1. Subject: Cryptography FAQ (07/10: Digital Signatures)
  2. Supersedes: <cryptography-faq/part07_848729385@rtfm.mit.edu>
  3. Date: 14 Dec 1996 06:51:14 GMT
  4. References: <cryptography-faq/part01_850546235@rtfm.mit.edu>
  5. X-Last-Updated: 1994/07/05
  6.  
  7.  
  8. This is the seventh of ten parts of the sci.crypt FAQ. The parts are
  9. mostly independent, but you should read the first part before the rest.
  10. We don't have the time to send out missing parts by mail, so don't ask.
  11. Notes such as ``[KAH67]'' refer to the reference list in the last part.
  12.  
  13. The sections of this FAQ are available via anonymous FTP to rtfm.mit.edu 
  14. as /pub/usenet/news.answers/cryptography-faq/part[xx]. The Cryptography 
  15. FAQ is posted to the newsgroups sci.crypt, talk.politics.crypto, 
  16. sci.answers, and news.answers every 21 days.
  17.  
  18.  
  19.  
  20. Contents:
  21.  
  22. 7.1. What is a one-way hash function?
  23. 7.2. What is the difference between public, private, secret, shared, etc.?
  24. 7.3. What are MD4 and MD5?
  25. 7.4. What is Snefru?
  26.  
  27.  
  28. 7.1. What is a one-way hash function?
  29.  
  30.   A typical one-way hash function takes a variable-length message and
  31.   produces a fixed-length hash. Given the hash it is computationally
  32.   impossible to find a message with that hash; in fact one can't
  33.   determine any usable information about a message with that hash, not
  34.   even a single bit. For some one-way hash functions it's also
  35.   computationally impossible to determine two messages which produce the
  36.   same hash.
  37.  
  38.   A one-way hash function can be private or public, just like an
  39.   encryption function. Here's one application of a public one-way hash
  40.   function, like MD5 or Snefru. Most public-key signature systems are
  41.   relatively slow. To sign a long message may take longer than the user
  42.   is willing to wait. Solution: Compute the one-way hash of the message,
  43.   and sign the hash, which is short. Now anyone who wants to verify the
  44.   signature can do the same thing.
  45.  
  46.   Another name for one-way hash function is message digest function.
  47.  
  48. 7.2. What is the difference between public, private, secret, shared, etc.?
  49.  
  50.   There is a horrendous mishmash of terminology in the literature for a
  51.   very small set of concepts. Here are the concepts: (1) When an
  52.   algorithm depends on a key which isn't published, we call it a private
  53.   algorithm; otherwise we call it a public algorithm. (2) We have
  54.   encryption functions E and decryption functions D, so that D(E(M)) = M
  55.   for any message M. (3) We also have hashing functions H and
  56.   verification functions V, such that V(M,X) = 1 if and only if X = H(M).
  57.  
  58.   A public-key cryptosystem has public encryption and private
  59.   decryption. Checksums, such as the application mentioned in the
  60.   previous question, have public hashing and public verification.
  61.   Digital signature functions have private hashing and public
  62.   verification: only one person can produce the hash for a message,
  63.   but everyone can verify that the hash is correct.
  64.  
  65.   Obviously, when an algorithm depends on a private key, it's meant to
  66.   be unusable by anyone who doesn't have the key. There's no real
  67.   difference between a ``shared'' key and a private key: a shared key
  68.   isn't published, so it's private. If you encrypt data for a friend
  69.   rather than ``for your eyes only'', are you suddenly doing
  70.   ``shared-key encryption'' rather than private-key encryption? No.
  71.  
  72. 7.3. What are MD4 and MD5?
  73.  
  74.   MD4 and MD5 are message digest functions developed by Ron Rivest.
  75.   Definitions appear in RFC 1320 and RFC 1321 (see part 10). Code is
  76.   available from [FTPMD].
  77.  
  78.   Note that a transcription error was found in the original MD5 draft
  79.   RFC. The corrected algorithm should be called MD5a, though some
  80.   people refer to it as MD5.
  81.  
  82. 7.4. What is Snefru?
  83.  
  84.   Snefru is a family of message digest functions developed by Ralph
  85.   Merkle. Snefru-8 is an 8-round function, the newest in the family.
  86.   Definitions appear in Merkle's paper [ME91a]. Code is available from
  87.   [FTPSF].
  88.